Deterministic OpenMP
نویسندگان
چکیده
Deterministic OpenMP Amittai F. Aviram 2012 Researchers widely agree that determinism in parallel programs is desirable. Although experimental parallel programming languages have long featured deterministic semantics, in mainstream parallel environments, developers still build on nondeterministic constructs such as mutexes, leading to timeor schedule-dependent heisenbugs. To make deterministic programming more accessible, we introduce DOMP, a deterministic extension to OpenMP, preserving the familiarity of traditional languages such as C and Fortran, and maintaining source-compatibility with much of the existing OpenMP standard. Our analysis of parallel idioms used in 35 popular benchmarks suggests that the idioms used most often (89% of instances in the analyzed code) are either already expressible in OpenMP’s deterministic subset (74%), or merely lack more general reduction (12%) or pipeline (3%) constructs. DOMP broadens OpenMP’s deterministic subset with generalized reductions, and implements an efficient deterministic runtime that acts as a drop-in replacement for Gnu’s widely used conventional OpenMP support library GOMP, on mainstream Unix platforms. We evaluate DOMP with several existing OpenMP benchmarks, each requiring under 50 source line changes and a majority requiring none, as well as several benchmarks we ported to OpenMP/DOMP. We find DOMP’s efficiency and scalability comparable to GOMP in 7 of 11 benchmarks, suggesting that a deterministic model for mainstream parallel programming may be well within reach. Deterministic OpenMP A Dissertation Presented to the Faculty of the Graduate School of Yale University in Candidacy for the Degree of Doctor of Philosophy by Amittai F. Aviram Dissertation Director: Bryan A. Ford
منابع مشابه
Deterministic OpenMP for Race-Free Parallelism
Recent deterministic parallel programming models show promise for their ability to replay computations and reproduce bugs, but they currently require the programmer to adopt restrictive or unfamiliar parallel constructs. Deterministic OpenMP (DOMP) is a new deterministic parallel environment built on the familiar OpenMP framework. By leveraging OpenMP’s block-structured synchronization annotati...
متن کاملA Generalized Reduction Construct for Deterministic OpenMP
In parallel programming, a reduction is an operation that combines values across threads into a single result, and can be designed and implemented so as to enforce determinism, not only on the result, but also on the intermediate values and evaluation sequence. These features make the reduction an attractive feature for a language-based approach to deterministic parallelism, especially one that...
متن کاملDeterministic Consistency: A Programming Model for Shared Memory Parallelism
The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code, and runtime systems can impose synthetic schedules on legacy parallel code. To parallelize existing serial code, however, we would like a programming model ...
متن کاملComparing Intel Thread Checker and Sun Thread Analyzer
Multiprocessor compute servers have been available for many years now. It is expected that the number of cores and threads per processor chip will increase in the future. Hence, parallel programming will become more common. Posix-/Win32-Threads and OpenMP are the most wide-spread programming paradigms for shared-memory parallelization. At the first sight, programming for Posix-Threads or OpenMP...
متن کاملTracing Logical Concurrency for Dynamic Race Detection in OpenMP Programs
OpenMP is an industry standard supporting a serialized program to be executed in parallel with simple compiler directives and libraries. OpenMP covers only user-directed parallelization and does not enforce to fix concurrency bugs, such as data races. However it is difficult to locate data races occurred in an execution of the program, because they may lead the program execution to be non-deter...
متن کامل